package com.ftg.learn.day07;

import java.nio.charset.Charset;
import java.util.Scanner;

/**
 * 学习字符串\
 *
 * @author 布衣
 */
public class String01 {

    /**
     * 字符串  ：
     * 定义 ： 由一系列的字符组合而成的序列 ""
     * 类型 ： String
     * 创建方式的说明 ：
     *
     * @param args
     */
    public static void main(String[] args) {
        //建议使用
        String a = "abc";

        String str;
        String str01 = "abc";
        String str02 = new String();
        String str03 = new String("abc");

        byte[] bytes = new byte[]{97,98,99};
        String str0301 = new String(bytes);

        int[] ss = new int[]{97,98,99,2323};
        String str0302 = new String(ss,1,2);
        System.out.println(str0302 +" ====> ");

        String str04 = "a" + "bc";
        String str001 = "a";
        String str002 = str001 + "bc";


        System.out.println("abc".codePointAt(1)+"===>2");

        //保留一下 : 。。。。应用场景
        System.out.println("abcdefghij".offsetByCodePoints(3, 2));


        //gbk 国标        2
        //gb2312 国标简体  2
        //utf-8  万国码    3
        System.out.println("中国".getBytes().length);


        //方法呢?


//        String str002 = new StringBuilder(str001).append("bc");

        //jdk1.5 以后认为 "bc"没有意义 ，所以优化

//        ==  【基本类型当中，表示值是否相同 ， 引用类型，表示判断他内存地址是否相同】

        System.out.println(str01 == str03);
        System.out.println("abc".equalsIgnoreCase(new String("abC")));
        System.out.println(str01 == str04);
        System.out.println(str01 == str002);

        System.out.println(str01);
        System.out.println(str03);
        System.out.println(str04);
        System.out.println(str002);
//        hash算法
        System.out.println("中".hashCode());
        System.out.println("国".hashCode());

        System.out.println("abc".hashCode());



    }

}
